package com.virus.coronavirus.service;

import com.virus.coronavirus.error.SystemException;
import com.virus.coronavirus.model.User;
import com.virus.coronavirus.model.vo.UserEditVO;
import com.virus.coronavirus.model.vo.UserInfoVO;
import com.virus.coronavirus.model.vo.UserVO;

/**
 * @Author: Bbeginner
 * @Date: 2021/2/4 13:47
 * @Version 1.0
 **/
public interface UserService {

    /**
     * show all user data
     * @return
     */
     User selectList(Long id);

    /**
     * 编辑
     * @param id
     * @return
     */
    UserEditVO edit(Long id) throws SystemException;

    /**
     * 更新
     * @param id
     * @param userVO
     * @return
     */
    void update(Long id, UserEditVO userVO) throws SystemException;

    /**
     * 删除用户
     *
     * @param id
     */
    void deleteById(Long id) throws SystemException;

    /**
     * 添加用户
     * @param userVO
     */
    void add(UserVO userVO) throws SystemException;

    /**
     * 根据用户名,用户Id,用户手机号查询用户
     *
     * @param name 用户名
     * @return
     */
    User findUserByName(String name);

    User findUserById(Long id);

    User findUserByPhone(String phone);









    /**
     * 用户登入
     *
     * @param username
     * @param password
     */
    String login(String username, String password);


    /**
     * 用户信息
     *
     * @return
     */
    UserInfoVO info() throws SystemException;

    /**
     * 用户列表
     * @param userVO
     * @return
     */
//    PageVO<UserVO> findUserList(Integer pageNum, Integer pageSize, UserVO userVO);

}
